x86: Initialise %ds when booting APs, otherwise data accesses go to
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Tue, 12 Jun 2007 13:06:37 +0000 (14:06 +0100)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Tue, 12 Jun 2007 13:06:37 +0000 (14:06 +0100)
the wrong place.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
xen/arch/x86/boot/trampoline.S

index 492d42aaabefc0f3e1dd2ad961e629c8daf3625b..b76a25a3e7be570adda98c7ca837eec01bb802fa 100644 (file)
@@ -6,11 +6,13 @@
 
         .globl trampoline_realmode_entry
 trampoline_realmode_entry:
+        mov     %cs,%ax
+        mov     %ax,%ds
         movb    $0xA5,bootsym(trampoline_cpu_started)
         cld
         cli
-        lidt    %cs:bootsym(idt_48)
-        lgdt    %cs:bootsym(gdt_48)
+        lidt    bootsym(idt_48)
+        lgdt    bootsym(gdt_48)
         xor     %ax, %ax
         inc     %ax
         lmsw    %ax                       # CR0.PE = 1 (enter protected mode)